﻿///////////////////////////////////////////////////////////////////////////////
//
//  This file is part of MathLib.NET.
//
//  This library is free software; you can redistribute it and/or
//  modify it under the terms of the GNU Lesser General Public
//  License as published by the Free Software Foundation; either
//  version 2.1 of the License, or (at your option) any later version.
//  
//  This library is distributed in the hope that it will be useful,
//  but WITHOUT ANY WARRANTY; without even the implied warranty of
//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
//  Lesser General Public License for more details.
//  
//  You should have received a copy of the GNU Lesser General Public
//  License along with this library;  If not, see 
//  <http://www.gnu.org/licenses/>.
//
///////////////////////////////////////////////////////////////////////////////

using System;

// Math Constants
// ==============
//
// eps - Floating-point relative accuracy 
// i - Imaginary unit 
// Inf - Infinity 
// intmax - Largest value of specified integer type 
// intmin - Smallest value of specified integer type 
// j - Imaginary unit 
// NaN - Not-a-Number 
// pi - Ratio of circle's circumference to its diameter 
// realmax - Largest positive floating-point number 
// realmin - Smallest positive normalized floating-point number 

namespace MathLib
{
    /// <summary>
    /// Mathematical constants.
    /// </summary>
    public partial class MLMath
    {
        /// <summary>
        /// Not a number constant.
        /// </summary>
        public static double NaN = double.NaN;

        /// <summary>
        /// Positive infinity constant.
        /// </summary>
        public static double Inf = double.PositiveInfinity;

        /// <summary>
        /// Floating point relative accuracy.
        /// </summary>
        public static double eps = double.Epsilon;

        /// <summary>
        /// PI.
        /// </summary>
        public static double pi = Math.PI;

        /// <summary>
        /// Maximum integer value.
        /// </summary>
        public static int intmax = int.MaxValue;

        /// <summary>
        /// Minimum integer value.
        /// </summary>
        public static int intmin = int.MinValue;

        /// <summary>
        /// Maximum floating point value.
        /// </summary>
        public static double realmax = double.MaxValue;

        /// <summary>
        /// Minimum floating point value.
        /// </summary>
        public static double realmin = double.MinValue;
    }
}
